在現代辦公環境中,Excel 是一款無處不在的工具,無論是數據處理、報告生成,還是進行決策支持,Excel 都在其中發揮重要作用。然而,隨著工作流程的複雜化,手動操作的效率已經不能滿足需求。這時,Power Automate Desktop (PAD) 和 VBA (Visual Basic for Applications) 就成為了幫助自動化 Excel 任務的理想解決方案。本文將介紹如何在 PAD 中呼叫 VBA,並展示如何透過這種方式高效地完成工作。
VBA (Visual Basic for Applications) 是 Microsoft Office 應用程式中的內建編程語言,特別是用來自動化 Excel、Word 等應用程式中的操作。VBA 提供了使用者撰寫腳本以自動化重複性工作的能力,可以節省時間,也能降低手動操作的錯誤率,可以把它想像成 Office 應用程式中的 RPA 機器人。
而巨集其實是透過 VBA 語法寫成的一段自動化指令。Excel 內建的錄製巨集功能,可以讓使用者記錄操作過程,並生成對應的 VBA 程式碼。這些巨集可重複使用,當你想要重複執行某些操作時,只需一鍵即可完成。因此,對於重度使用 Excel 的使用者來說,VBA 雖然是個相對較古老的語法,開發介面也比較陽春,不過仍是非常實用的。
此系列已藉由各種情境讓大家知道 Power Automate Desktop (PAD) 的自動化功能非常多元,可以自動化各種手動任務,並與不同的應用程式整合。然而,在某些情境下,使用巨集也許會更加適合,原因包括以下幾點:
VBA 更深入整合 Excel 功能:VBA 是為 Excel 等 Office 應用程式量身訂製的,能夠直接存取 Excel 的完整功能,如自定義函數、表格操作、格式設置等。相較之下,PAD 的 Excel 操作功能則相對有限,主要著重於基本資料輸入與讀取。
效能表現:在需要進行大量數據處理或執行高頻率的操作時,VBA 可以更快速、更精準地處理,避免了透過過 PAD 諸多步驟來操作 Excel 而帶來的額外負擔。
複雜 Excel 公式與運算的靈活性:VBA 提供了靈活的編程能力,允許你根據具體需求設計複雜的邏輯和運算,這在某些需要高度自訂的 Excel 任務中尤其有用。
綜合來說,雖然 PAD 可以執行很多自動化任務,但當涉及到深入的 Excel 功能或效能要求較高的情況時,VBA 無疑是更好的選擇。
以下是一個簡單的示範,展示如何在 Power Automate Desktop 中呼叫 VBA 來自動完成 Excel 中的特定操作。在此情境中,我們希望能夠自動將 Excel 中內容為「已完成」的儲存格標示為黃色背景。
首先,我們在 Excel 中撰寫一段 VBA 程式碼,用於檢查所有儲存格,並將內容為「已完成」的儲存格設置為黃色背景。以下是 VBA 程式碼範例:
Sub HighlightCompletedCells()
Dim ws As Worksheet
Dim cell As Range
Set ws = ThisWorkbook.Sheets("Sheet1")
For Each cell In ws.UsedRange
If cell.Value = "已完成" Then
cell.Interior.Color = vbYellow
End If
Next cell
End Sub
此程式碼會在工作表中搜尋所有儲存格,當發現某個儲存格的值為「已完成」時,會將該儲存格的背景設為黃色。
若還不太熟悉 VBA 的操作方式和語法,建議可以先上網查詢相關入門概念影片(可參考最下方的參考資料),接著再往下實際寫程式碼,不過也不太需要死記語法,透過自然語言請 ChatGPT 生成的內容就已經滿夠用了。
啟動 Excel:打開目標 Excel 檔案
執行 Excel 巨集:Excel 執行個體選擇前個動作所生成的變數名稱。巨集的欄位則填入該巨集的名稱,此處示範名稱為 HighlightCompletedCells
完成後,當你執行這個 PAD 流程時,它會自動打開 Excel,並執行 VBA 腳本,將所有符合條件的儲存格標示為黃色背景。
參考流程腳本
在自動化日常 Excel 工作中,Power Automate Desktop 和 VBA 都能夠提供極大的幫助。PAD 能夠快速自動化跨應用程式的工作流程,而 VBA 則是專門為 Excel 打造的強大工具,提供了更深入的控制和靈活性。希望藉由這篇文章的示範,可以讓大家認識如何結合兩者的優勢,進一步提升工作效率。
參考資料
解決 Excel 任何疑難雜症的最終方案!快速上手 VBA 讓你變成 Excel 類大師!| Excel 教學 50